#define _CRT_SECURE_NO_WARNINGS
#include"class.h"
typedef void (date::* pf)() ;
void test()
{
	date d1(2025, 3, 9);
	d1.print();
	date d2 = d1 + 100;
	d1.print();
	d2.print();
	d1 += 100;
	d1.print();
	date d5(2022, 3, 31);
	 date d4 = d5 - 32;
	d5 -= 31;
	d4.print();
	d5.print();

	if (d5 < d4)
	{
		cout << "1" << endl;
	}
	else
	{
		cout << "2" << endl;
	}
	date d6(2025, 12, 31);
	++d6;
	d6.print();
	date d7(2025, 3, 12);
	date d8(2025, 3, 13);
	cout << d8 - d7 << endl;
	cout << d7<<d8;
	cin >> d7>>d8;
	cout << d7<<d8;
	date().print();
	


}
int main()
{

	/*pf PF= &date::print;

	date a(2022,2,2);
	a.print();
	
	date b(2022222, 2, 2);
	a = b;
	a.print();
	b.print();
	date c(3, 3, 3);
	a = b = c;
	a.print();
	b.print();
	c.print();
	
	(a.*PF)();
	if (a == b)
	if(operator==(a,c))
	{
		cout << "true" << endl;
	}
	else
	{
		cout << "false" << endl;
	}
	list lt;
	lt.pushback(1);
	lt.pushback(2);
	lt.pushback(3);
	int i = 0;
	for (i = 0; i < 3; i++)
	{
		cout << lt[i] << endl;
		cout << lt.operator[](i) << endl;
	}*/
	/*date d1(1,2,3);
	date d2=d1+100;
	d1.print();
	d2.print();*/
	/*date d1(2025, 3, 9);
	d1.print();

	date d2 = d1 + 100;
	d2.print();
	d1.print();*/

	/*date d3 = d1 += 100;
	d1.print();
	d3.print();*/
	test();

	return 0;
}